router: support ra_lifetime being 0
authorJan-Philipp Litza <[email protected]>
Thu, 4 Jul 2019 11:31:25 +0000 (13:31 +0200)
committerHans Dedecker <[email protected]>
Sun, 7 Jul 2019 20:02:49 +0000 (22:02 +0200)
The value 0 has the special meaning of not being a default router. This
is useful to only advertise prefixes or DNS settings without being a
real router.

Signed-off-by: Jan-Philipp Litza <[email protected]>
src/router.c

index 50324283d4e5bca231b3ba3527d6fb89b10886d0..0040e7a1f8bdd12d0950f1e97c26a6cd89af9c4c 100644 (file)
@@ -354,7 +354,7 @@ static uint32_t calc_ra_lifetime(struct interface *iface, uint32_t maxival)
 
        if (iface->ra_lifetime >= 0) {
                lifetime = iface->ra_lifetime;
-               if (lifetime < maxival)
+               if (lifetime > 0 && lifetime < maxival)
                        lifetime = maxival;
                else if (lifetime > 9000)
                        lifetime = 9000;